package freespiritsocial.io.user.event

import androidx.lifecycle.MutableLiveData
import com.google.android.gms.maps.model.LatLng
import freespiritsocial.io.user.data.model.PlaceItem
import freespiritsocial.io.user.data.model.bean.UserInfo
import freespiritsocial.io.user.util.CacheUtil
import me.hgj.jetpackmvvm.base.viewmodel.BaseViewModel
import me.hgj.jetpackmvvm.callback.livedata.UnPeekLiveData

/**
 * 描述　:APP全局的ViewModel，可以存放公共数据，当他数据改变时，所有监听他的地方都会收到回调,也可以做发送消息
 * 比如 全局可使用的 地理位置信息，账户信息,App的基本配置等等，
 */
class AppViewModel: BaseViewModel() {

    //App的账户信息
    var userinfo = UnPeekLiveData<UserInfo?>()
    var locationPlace = UnPeekLiveData<PlaceItem>()
    var chatConnectStatus = MutableLiveData<Boolean>()

    val locationPermission = MutableLiveData<Boolean>()
    val curLatLng = MutableLiveData<LatLng>()


    init {
        //默认值保存的账户信息，没有登陆过则为null
        userinfo.value = CacheUtil.getUser()
    }
}